package com.ruoyi.ring.mapper;

import com.ruoyi.ring.domain.RingBloodOxygenDetail;
import com.ruoyi.ring.domain.dto.GeneralSecondDTO;
import com.ruoyi.ring.domain.vo.GeneralGroupVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 血氧详情Mapper接口
 * 
 * @author liuwp
 * @date 2025-09-03
 */
public interface RingBloodOxygenDetailMapper 
{
    /**
     * 查询血氧详情
     * 
     * @param id 血氧详情主键
     * @return 血氧详情
     */
    public RingBloodOxygenDetail selectRingBloodOxygenDetailById(Long id);

    /**
     * 查询血氧详情列表
     * 
     * @param ringBloodOxygenDetail 血氧详情
     * @return 血氧详情集合
     */
    public List<RingBloodOxygenDetail> selectRingBloodOxygenDetailList(RingBloodOxygenDetail ringBloodOxygenDetail);

    /**
     * 可以业务主键查询一条血氧详情
     *
     * @param ringBloodOxygenDetail 血氧详情
     * @return 血氧详情集合
     */
    public RingBloodOxygenDetail selectOneRingBloodOxygenDetail(RingBloodOxygenDetail ringBloodOxygenDetail);

    /**
     * 新增血氧详情
     * 
     * @param ringBloodOxygenDetail 血氧详情
     * @return 结果
     */
    public int insertRingBloodOxygenDetail(RingBloodOxygenDetail ringBloodOxygenDetail);

    /**
     * 修改血氧详情
     * 
     * @param ringBloodOxygenDetail 血氧详情
     * @return 结果
     */
    public int updateRingBloodOxygenDetail(RingBloodOxygenDetail ringBloodOxygenDetail);

    /**
     * 条件修改血氧详情
     *
     * @param ringBloodOxygenDetail 血氧详情
     * @param ringBloodOxygenDetail 血氧详情条件
     * @return 结果
     */
    public int updateRingBloodOxygenDetailCondition(@Param("ringBloodOxygenDetail") RingBloodOxygenDetail ringBloodOxygenDetail, @Param("ringBloodOxygenDetailCondition") RingBloodOxygenDetail ringBloodOxygenDetailCondition);

    /**
     * 删除血氧详情
     * 
     * @param id 血氧详情主键
     * @return 结果
     */
    public int deleteRingBloodOxygenDetailById(Long id);

    /**
     * 条件删除血氧详情
     *
     * @param ringBloodOxygenDetail 血氧详情
     * @return 结果
     */
    public int deleteRingBloodOxygenDetailByCondition(RingBloodOxygenDetail ringBloodOxygenDetail);

    /**
     * 批量删除血氧详情
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRingBloodOxygenDetailByIds(Long[] ids);


    /**
     * 查询血氧详情列表
     *
     * @param secondDTO 血氧详情
     * @return 血氧详情集合
     */
    List<RingBloodOxygenDetail> queryRingBloodOxygenDetailList(@Param("secondDTO") GeneralSecondDTO secondDTO);

    /**
     * 查询血氧详情列表
     *
     * @param secondDTO 血氧详情
     * @return 血氧详情集合
     */
    List<GeneralGroupVO> queryBloodOxygenInfoList(@Param("secondDTO") GeneralSecondDTO secondDTO);

    /**
     * 四级页 当天往前取7条数据
     */
    List<RingBloodOxygenDetail> queryBloodOxygenSevenInfo(@Param("deviceSn") String deviceSn ,@Param("date") Date date);
}
